package com.syh.jn.scm.service.core;


import cn.redscarf.commons.wrapper.Wrapper;

import java.io.Serializable;
import java.util.List;

@Deprecated
public interface BaseService<Sto, Mto, Vo, KEY extends Serializable> {


  /**
   * 保存对象
   *
   * @param sto
   * @return
   */
  default KEY save(Sto sto) {
    return null;
  }

  /**
   * 修改对象
   *
   * @param mto
   * @return
   */
  default void update(Mto mto) {
  }

  /**
   * 根据id删除对象
   *
   * @param id
   */
  default void delete(Long id) {
  }


  default Vo getById(KEY id) {
    return null;
  }

  default boolean contains(KEY id) {
    return false;
  }

  default List<Vo> findList(Wrapper wrapper) {
    return null;
  }

  default List<Vo> findListPage(Wrapper wrapper, Integer startRow, Integer count) {
    return null;
  }

  default Vo getOne(Wrapper wrapper) {
    return null;
  }

  default int getCount(Wrapper wrapper) {
    return 0;
  }

  default int getCountView(Wrapper wrapper) {
    return 0;
  }

}
